SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paCertificaObtenerParticipantes]
-- < Registro de Actualizaciones >
-- 21-11-2006 
-- 23-11-2006
-- 08-01-2007
-- 08/08/2007  SE AGREGO GRUPO INSTANCIA 
	@IDProyecto INT = NULL,
             @IDSubProyecto INT = NULL,
	@IDInstancia INT = NULL,
	@SeConsideraAsistente VARCHAR(1) ,
	@IDTipoParticipante INT = NULL,
	@CamposOrden VARCHAR(50) = NULL

AS
SET NOCOUNT ON
SET DATEFORMAT DMY
DECLARE @Consulta varchar(3000)

SET @Consulta = 'SELECT Part.IDParticipante AS ID, Part.IdProyecto, Part.IdSubProyecto, Part.IdInstancia, Part.IdEncuentro, Part.IdAgente, Part.IdTipoParticipante,
              Part.IdSuborganizacion, Part.IdTipoAprobacionEvaluacion, Part.IdgrupoInstancia,Gi.Grupo, Part.Asistencia, Part.Aprobado, Part.FechaAprobado, Part.Practico, Part.CargaHoraria,
	 Part.NotaEvaluacion, Part.FechaCertificado, Part.CertificadoEmitido, Part.NroCertificado, Part.Libro, Part.Folio, Part.FechaRegistro, Part.NTUser,
	Ag.Apellido, Ag.Nombre, SO.Descripcion AS OrganizacionPertenencia, Ag.Documento	
	FROM Tb_Participantes Part
                  INNER JOIN Tb_Agentes Ag ON Part.IdAgente = Ag.IdAgente
                 LEFT OUTER JOIN tb_grupoInstancia GI on Gi.idgrupoinstancia= Part.idgrupoInstancia		
	    LEFT OUTER JOIN Tb_SubOrganizaciones SO ON Part.IdSuborganizacion = SO.IdSubOrganizacion
	    INNER JOIN Tb_TiposParticipantes TP ON Part.IdTipoParticipante = TP.IdTipoParticipante AND TP.Asiste = '''+ @SeConsideraAsistente+''' WHERE 1=1' 

IF @IDProyecto IS NOT NULL
	SET @Consulta = @Consulta + ' AND Part.IDProyecto = '+CONVERT(VARCHAR(12),@IDProyecto)

IF @IDSubProyecto IS NOT NULL
	SET @Consulta = @Consulta + ' AND Part.IDSubProyecto = '+CONVERT(VARCHAR(12),@IDSubProyecto)

IF @IDInstancia IS NOT NULL
	SET @Consulta = @Consulta + ' AND Part.IDInstancia = '+CONVERT(VARCHAR(12),@IDInstancia)

IF @IDTipoParticipante IS NOT NULL
	SET @Consulta = @Consulta + ' AND Part.IDTipoParticipante = '+CONVERT(VARCHAR(12),@IDTipoParticipante)

IF @CamposOrden IS NOT NULL 
	SET @Consulta = @Consulta + ' ORDER BY '+LTRIM(RTRIM(@CamposOrden))
ELSE
	SET @Consulta = @Consulta + ' ORDER BY Part.IdParticipante'   

EXEC (@Consulta)
GO
GRANT EXECUTE ON  [dbo].[paCertificaObtenerParticipantes] TO [Certificaciones]
GRANT EXECUTE ON  [dbo].[paCertificaObtenerParticipantes] TO [CertificacionesAdministracion]
GRANT EXECUTE ON  [dbo].[paCertificaObtenerParticipantes] TO [SoloVer]
GO
